package sunwin.yoms.comm;

import java.io.File;
import java.util.List;

/**
 * Created by 田西泽 on 2015-8-22.
 */
public class VideoHelper {
    /**
     * 获得视频缩略图，获取成功返回true，获取失败返回false
     *
     * @param ffmpegPath   是ffmpeg.exe存放的路径
     * @param path         是视频文件的存放路径
     * @param outImagePath 输出缩略图的保存路径
     * @return
     */
    public static void getVideoImage(String ffmpegPath, String path, String outImagePath) throws YomsException {
        File file = new File(path);
        if (!file.exists()) {//判断视频文件是否存在
            throw YomsException.getInstance("没有找到需要生成缩略图的视频");
        }
        //设置参数
        List<String> commands = new java.util.ArrayList<String>();
        commands.add(ffmpegPath);//这里设置ffmpeg.exe存放的路径
        commands.add("-i");
        commands.add(path);//这里是设置要截取缩略图的视频的路径
        commands.add("-y");
        commands.add("-f");
        commands.add("image2");
        commands.add("-ss");
        commands.add("10");//这里设置的是要截取视频开始播放多少秒后的图，可以自己设置时间
        commands.add("-t");
        commands.add("0.001");
        commands.add("-s");
        commands.add("400x225");//这里设置输出图片的大小
        commands.add(outImagePath);//这里设置输出的截图的保存路径

        try {
            //截取缩略图并保存
            ProcessBuilder builder = new ProcessBuilder();
            builder.command(commands);
            builder.start();
        } catch (Exception e) {
            throw YomsException.getInstance("获取视频缩略图失败");
        }
    }
}
